Интерфейс командной строки 1C:EDT (1C:EDT CLI)
- Опции приложения
- Интерактивный режим
- Выполнить одну команду
- Выполнить последовательность команд
- Команды
- Код возврата
- Собственные команды
- Windows — 1cedtcli.exe;
- Linux, macOS — 1cedtcli.
Приложение находится в каталоге исполняемых файлов 1C:EDT.
- Справочный — если нужно только почитать справку, например. При запуске можно не указывать рабочую область (опцию -data);
- Интерактивный — после запуска 1cedtcli выводится приглашение 1C:EDT>, ожидающее интерактивного ввода команд;
- Для выполнения одной команды — выполняется одна команда, указанная при запуске 1cedtcli;
- Для выполнения последовательности команд из файла — выполняется последовательность команд, содержащаяся в файле, указанном при запуске 1cedtcli.
Опции
- -command — эта опция должна быть последней, так как все, что идет после нее, трактуется как команда;
- -vmargs — эта опция должна идти перед -command (либо быть последней, если -command не используется), так как все, что идет после нее и до -command трактуется как аргументы JVM.
Можно использовать следующие опции:
- -data — расположение рабочей области
1C:EDT. Например, следующая команда запустит 1C:EDT CLI в интерактивном режиме:
1cedtcli -data D:\projects\МойПроект - -timeout — максимальное время в секундах, отводимое на выполнение
команды или последовательности команд. Если выполнение не завершилось по истечении
этого времени, оно будет прервано и будет записан дамп потоков,
который может помочь расследовать причину зависания. Если таймаут не указан в явном
виде, используется значение 60 минут. Например, следующая команда запустит выполнение последовательности команд из файла script.txt, на это отведено полтора часа:
1cedtcli -data D:\projects\МойПроект -timeout 5400 -file D:\projects\script.txt - -vmargs — один или несколько аргументов JVM
(например, -Xmx, -D и т. д.). Например, при импорте проекта можно увеличить размер кучи до 8 Гб:
1cedtcli -data D:\projects\МойПроект -vmargs -Xmx8g -command import --configuration-files D:\XML-1 --project D:\project-1Совет: Подробнее об аргументах JVM, которые могут вам понадобиться, читайте здесь. - -ini-file — путь к файлу конфигурации 1C:EDT, из которого будут взяты настройки для запуска 1C:EDT CLI. Если он не указан, то берется стандартный файл конфигурации 1cedt.ini, находящийся в каталоге исполняемых файлов 1C:EDT;
- -v — режим вывода подробных сообщений;
- -V — показывает версию приложения 1cedtcli.
Например:
>1cedtcli -V 1.30.0-SNAPSHOT Build: 2 Revision: bab3b67830e78ed251940c29e2687edf613457d7 - -h — справка;
- -nl — язык, на котором 1C:EDT CLI будет выводить сообщения. Если
не указана, то 1C:EDT CLI использует язык, установленный в операционной системе.
Например, следующая команда показывает справку на английском языке:
1cedtcli -h -nl en_US - Одна из следующих опций:
- -command — команда, которую нужно
выполнить, и ее аргументы. Например, оптимизация формата хранения данных
проекта
(clean-up-source):
1cedtcli -data D:\projects\МойПроект -command clean-up-source --project-name Демо_EDT - -file — путь к файлу, содержащему
команды, которые надо выполнить.
Например:
1cedtcli -data D:\projects\МойПроект -file D:\projects\script.txtПосле имени файла можно указать один или несколько аргументов, которые будут переданы в исполняемый файл. В файле они будут доступны как переменные $1, $2 и т.д.
Количество переданных аргументов содержится в переменной $argc.Переменная $0 это путь к исполняемому файлу.
- -command — команда, которую нужно
выполнить, и ее аргументы. Например, оптимизация формата хранения данных
проекта
(clean-up-source):
Справочный режим
Это самый простой режим, его можно использовать, например, для чтения справки. В нем не используются никакие опции:
1cedtcli
- cd — отображает или изменяет текущий рабочий каталог;
- exit — выйти из интерактивного режима командной строки.
- help — выводит список доступных команд или кодов возврата.
- install-platform-support — устанавливает поддержку платформы «1С:Предприятие» указанной версии.
- platform-versions — сообщает список версий платформы «1С:Предприятие», которые поддерживаются данной средой разработки.
- uninstall-platform-support — удаляет поддержку платформы «1С:Предприятие» указанной версии.
- version — выводит версию 1С:EDT или список установленных компонентов с версиями или версию выбранного компонента.
Интерактивный режим
Чтобы запустить 1C:EDT CLI в интерактивном режиме, после 1cedtcli укажите опцию -data — расположение рабочей области. Например:
1cedtcli -data D:\projects\МойПроект
В результате в интерпретаторе командной строки вы увидите приглашение 1C:EDT>. После этого можно вводить команды 1C:EDT CLI.
Выполнение одной команды
- Опцию -data — расположение рабочей области и
- Опцию -command — выполняемую команду вместе с ее аргументами.
1cedtcli -data D:\projects\МойПроект -command clean-up-source --project-name Демо_EDT
"C:\Program Files\1C\1CE\components\1c-edt-2023.3.6+33-x86_64\1cedtcli.exe" -data "D:\Workspace" -command import --project """D:\Dev A_work\DemoEDT"""
Выполнение последовательности команд
Для выполнения последовательности команд можно использовать скрипты. Подробнее о скриптах читайте здесь.
Команды
- build
- cd
- clean-up-source
- delete
- exit
- export
- format-modules
- help
- import
- infobase
- infobase-create
- infobase-delete
- infobase-import
- install-platform-support
- platform-versions
- project
- script
- sort-project
- uninstall-platform-support
- validate
- version
-
- build
-
Очищает и пересобирает все или некоторые проекты. Является аналогом интерактивной команды . Имеет один необязательный аргумент:
-
--yes — если этот аргумент имеет значение true или значение не указано, то 1C:EDT пересобирает все проекты, находящиеся в рабочей области.
build --yesЕсли этот аргумент имеет значение false или этот аргумент не указан, то будет запрошено подтверждение пересборки всех проектов:
Если после этого аргумента перечислены имена проектов, то будут пересобраны только эти проекты:1C:EDT> build Пожалуйста, подтвердите сборку следующих проектов: pr24 pr24.ВесТоваров pr24.Колонтитулы Действительно собрать? (y/n; по умолчанию=n)build --yes [pr24 pr24.Колонтитулы]
-
- cd
- Отображает или изменяет текущий рабочий каталог. Имеет один
необязательный аргумент:
"строка"— каталог, который нужно установить в качестве текущего рабочего. Если этот аргумент указан, то команда меняет текущий рабочий каталог на указанный:
Если аргумент пропущен, то команда выводит текущий рабочий каталог:cd /path/to/new/working/directorycd
- clean-up-source
-
Оптимизирует формат хранения данных проекта. Имеет следующие аргументы:
- Один из следующих обязательных аргументов:
- --project — путь к каталогу проекта
1C:EDT, формат хранения данных которого нужно оптимизировать.
Если этот проект не импортирован в рабочую область, переданную в параметре -data, то перед оптимизацией формата хранения данных проекта будет выполнен импорт этого проекта в рабочую область;
- --project-name — имя проекта 1C:EDT, формат хранения данных которого нужно оптимизировать;
- --project — путь к каталогу проекта
1C:EDT, формат хранения данных которого нужно оптимизировать.
- --include-full-support-objects — необязательный аргумент. Если этот аргумент имеет значение true, то будут оптимизированы все объекты, включая те, которые находятся на полной поддержке. После такой оптимизации потребуется полная загрузка конфигурации в информационную базу.
Например:clean-up-source --project-name Демо_EDT --include-full-support-objects true - Один из следующих обязательных аргументов:
- delete
- Удаляет все или некоторые проекты. Имеет один необязательный аргумент:
-
--yes — если этот аргумент имеет значение true или значение не указано, то 1C:EDT удаляет все проекты, находящиеся в рабочей области.
delete --yesЕсли этот аргумент имеет значение false или этот аргумент не указан, то будет запрошено подтверждение удаления всех проектов:
Если после этого аргумента перечислены имена проектов, то будут удалены только эти проекты:1C:EDT> delete Пожалуйста, подтвердите удаление следующих проектов: pr24 pr24.ВесТоваров pr24.Колонтитулы Действительно удалить? (y/n; по умолчанию=n)delete --yes [pr24 pr24.Колонтитулы]
-
- exit
-
Выйти из интерактивного режима командной строки. Имеет необязательные аргументы:
-
--yes — если этот аргумент имеет значение true или значение не указано, то выход будет без подтверждения.
exit --yesЕсли этот аргумент имеет значение false или этот аргумент не указан, то будет запрошено подтверждение выхода:1C:EDT> exit Вы действительно хотите выйти? (y/n; по умолчанию=y) - --status — код возврата;
-
- export
-
Экспортирует проект 1C:EDT в .xml-файлы конфигурации. Имеет следующие аргументы:
- Один из следующих обязательных аргументов:
- --project — путь к каталогу проекта
1C:EDT, который нужно экспортировать.Если этот проект не импортирован в рабочую область, переданную в параметре -data, то перед экспортом проекта в .xml-файлы конфигурации будет выполнен импорт этого проекта в рабочую область;
- --project-name — имя проекта 1C:EDT, который нужно экспортировать;
- --project — путь к каталогу проекта
1C:EDT, который нужно экспортировать.
- --configuration-files — обязательный аргумент. Каталог, в который следует поместить .xml-файлы конфигурации;
Например:export --project D:\Демо_EDT --configuration-files D:\xml-files - Один из следующих обязательных аргументов:
- format-modules
- Форматирует все модули встроенного языка в соответствии с настройками форматирования. Имеет один из следующих
обязательных аргументов:
- --project — путь к каталогу проекта 1C:EDT.
Если этот проект не импортирован в рабочую область, переданную в опции
-data, то перед форматированием модулей будет
выполнен импорт этого проекта в рабочую
область.
format-modules --project D:\Демо_EDT - --project-name — имя проекта 1C:EDT, модули
которого нужно
отформатировать.
format-modules --project-name Демо_EDT
- --project — путь к каталогу проекта 1C:EDT.
Если этот проект не импортирован в рабочую область, переданную в опции
-data, то перед форматированием модулей будет
выполнен импорт этого проекта в рабочую
область.
- help
-
Выводит список доступных команд или кодов возврата. Имеет необязательный аргумент:
- --status-codes — вместо команд 1С:EDT CLI отображает список общих кодов состояний (возвратов).
Например, чтобы получить список доступных команд:
helpЧтобы получить список кодов возврата:
help --status-codesЧтобы получить справку по конкретной команде, введите ее имя после help. Например:help install-platform-support
- import
-
- Импортирует проект 1C:EDT в рабочую
область. Имеет обязательный аргумент:
- --project — путь к каталогу проекта 1C:EDT, который нужно импортировать;
Например:import --project D:\Демо_EDT -
Импортирует .xml-файлы конфигурации в проект 1C:EDT. Имеет следующие аргументы:
- --version — необязательный аргумент. Версия платформы «1С:Предприятия», которая будет назначена создаваемому проекту. Например, 8.3.22. Если версия не задана, то она будет определена по предоставленной версии .xml-файлов конфигурации;
- --base-project-name — имя базового проекта. Допустимо только для проектов расширений или для проектов внешних отчетов и обработок;
- --configuration-files — обязательный аргумент. Каталог, содержащий .xml-файлы конфигурации;
- --build — если этот аргумент имеет значение true, то проект 1С:EDT запускается сразу после завершения импорта. Выполняется сборка объектов конфигурации и языковых модулей;
- Один из следующих обязательных аргументов:
- --project — путь к каталогу проекта
1C:EDT, в который следует импортировать .xml-файлы.
Если каталог уже содержит какие-то файлы, то новые файлы будут добавлены к существующим.Если этот проект не импортирован в рабочую область, переданную в параметре -data, то перед импортом в него .xml-файлов конфигурации будет выполнен импорт этого проекта в рабочую область;
- --project-name — имя проекта 1C:EDT, в который следует импортировать .xml-файлы. Если такой проект уже существует в рабочей области, переданной в параметре -data, то будет выдана ошибка.
- --project — путь к каталогу проекта
1C:EDT, в который следует импортировать .xml-файлы.
Например:
import --configuration-files D:\xml-files --project D:\Демо_EDT import --base-project-name Демо_EDT --configuration-files D:\xml-files --project D:\Демо_EDT.ВесТоваров import --version 8.3.24 --base-project-name Демо_EDT --configuration-files D:\xml-files --project D:\Демо_EDT.ВесТоваров
- Импортирует проект 1C:EDT в рабочую
область. Имеет обязательный аргумент:
- infobase
- Показывает список информационных баз и информацию о выбранных базах.
Например, список баз:
Имеет два необязательных аргумента:1C:EDT> infobase Информационная_база Информационная_база_#1 Информационная_база_#2 Информационная_база_#4 Информационная_база_EDT ...- --details — показывать подробности о базах,
например:
1C:EDT> infobase --details Имя: Информационная_база Соединение: File="C:\Users\User\Documents\InfoBase26"; Имя: Информационная_база_#1 Соединение: File="C:\Users\User\Documents\InfoBase104"; Имя: Информационная_база_#2 Соединение: File="C:\Users\User\Documents\InfoBase106"; Имя: Информационная_база_#4 Соединение: File="C:\Users\User\Documents\InfoBase5"; Имя: Информационная_база_EDT Соединение: File="C:\Users\User\Documents\InfoBase110"; ... ["строка1" "строка2" "строка3"...]— названия выбранных баз. Показывать информацию только по выбранным базам, например:1C:EDT> infobase [Информационная_база_#1 Информационная_база_#4] Имя: Информационная_база_#1 Соединение: File="C:\Users\User\Documents\InfoBase104"; Имя: Информационная_база_#4 Соединение: File="C:\Users\User\Documents\InfoBase5";
- --details — показывать подробности о базах,
например:
- infobase-create
- Создает информационную базу. Имеет следующие аргументы:
- --name "строка" — обязательный аргумент.
Название базы,
например:
infobase-create --name Моя_новая_база infobase-create --name "Моя новая база" - Необязательные аргументы:
- --version "строка" — версия платформы.
Если не установлено, используется последняя поддерживаемая
платформа.
infobase-create --name "Моя новая база 1" --version 8.3.27 - --path "строка" — путь к создаваемой
базе. Если не задано, создается временный каталог.
infobase-create --name InfoBase44 --path D:/test/NewBase - --cf "строка" — путь к .cf-файлу, на
основе которого будет создана база. Если не задано, создается
пустая
база.
infobase-create --name issue555 --cf D:/bases/issue555/1Cv8.cf
- --version "строка" — версия платформы.
Если не установлено, используется последняя поддерживаемая
платформа.
- --name "строка" — обязательный аргумент.
Название базы,
например:
- infobase-delete
- Удаляет одну или несколько информационных баз. Имеет следующие аргументы:
- Один из следующих обязательных аргументов:
- --name "строка" — название
базы;
infobase-delete --name InfoBase44 ["строка1" "строка2" "строка3"]— список баз;infobase-delete --name [InfoBase44 issue555]
- --name "строка" — название
базы;
- --yes — необязательный аргумент. Если имеет
значение true, то подтверждение удаления не
запрашивается;
infobase-delete --name InfoBase44 --yes true - --delete-content — необязательный аргумент.
Если имеет значение true, то кроме записи в
списке удаляется и сама база на
диске.
infobase-delete --name InfoBase44 --delete-content true
- Один из следующих обязательных аргументов:
- infobase-import
- Импортирует информационную базу в проект. Имеет следующие аргументы:
- --name "строка" — обязательный аргумент. Название базы;
- --project "строка" — обязательный аргумент. Название проекта;
- --build — необязательный аргумент. Если имеет
значение true, то после импорта проект будет
собран.
infobase-import --name ДемоEDT27 --project ДемоEDT27 --build true - --access — необязательный аргумент. Путь к
текстовому файлу, содержащему настройки доступа к информационной
базе. Формат: имя=значение, по одному параметру в строке.
Поддерживаемые настройки:
- access — тип доступа, значения: INFOBASE или OS, по умолчанию INFOBASE),
- username — имя пользователя базы,
- password — пароль пользователя базы,
- additionalProperties — дополнительные параметры (например, пользователь и пароль для доступа к хранилищу конфигурации).
Все настройки необязательны, любую из них можно пропустить.
Содержимое файла settings.txt:infobase-import --name DB8327 --project DB8327project --build true --access settings.txtaccess=INFOBASE username=Администратор
- install-platform-support
-
Устанавливает поддержку платформы «1С:Предприятие» указанной версии. Имеет обязательный аргумент:
- --version — версия платформы, поддержку которой нужно установить;
Например:install-platform-support --version 8.3.10
- platform-versions
-
Сообщает список версий платформы «1С:Предприятие», которые поддерживаются данной средой разработки. Например:
1C:EDT> platform-versions 8.3.21 8.3.22 8.3.23 8.3.24
- project
-
Выводит информацию по всем или по нескольким проектам. Имеет один необязательный аргумент:
-
--details — если этот аргумент имеет значение true или значение не указано, то 1C:EDT выводит информацию по всем проектам, находящимся в рабочей области.
1C:EDT> project --details Имя: pr24 Содержимое: C:\Users\Test\AppData\Local\1C\1cedtstart\projects\pr24\pr24 Имя: pr24.ВесТоваров Содержимое: C:\Users\Test\AppData\Local\1C\1cedtstart\projects\pr24\pr24.ВесТоваров Имя: pr24.Колонтитулы Содержимое: C:\Users\Test\AppData\Local\1C\1cedtstart\projects\pr24\pr24.КолонтитулыЕсли этот аргумент имеет значение false или этот аргумент не указан, то будет выведен простой список всех проектов:
Если после этого аргумента перечислены имена проектов, то будет показана информация только по этим проектам:1C:EDT> project pr24 pr24.ВесТоваров pr24.Колонтитулыproject --details [pr24 pr24.Колонтитулы]
-
- script
-
Выводит список доступных скриптов, показывает информацию о скрипте, загружает один или несколько скриптов.
- Отображение списка доступных
скриптов.
1C:EDT> script my-script - Вывод информации о скрипте. Команда имеет следующие аргументы:
"строка"— обязательный аргумент. Имя скрипта.1C:EDT> script my-script Имя: ms:my-script Поставляемый: да Поставщик: com.e1c.g5.v8.dt.library Путь: script/my-script.1cedtcli- --content — необязательный аргумент.
Если этот аргумент имеет значение true
или значение не указано, то будет показано содержимое
файла
скрипта.
1C:EDT> script my-script --content # Скрипт приветствует пользователя. # # Использование: # hello "имя" # Аргументы: # имя - имя пользователя. Если не задано, приветствует мир. # # Дополнительно скрипт распечатывает свое расположение. name = мир if { $1 } { name = $1 } echo Привет, $name! echo Расположение скрипта: $0
- Загрузка скриптов. Команда имеет следующие аргументы:
- --load — обязательный аргумент. Либо
скрипт для загрузки, либо каталог для загрузки
скриптов.
1C:EDT> script --load "C:\Users\test\cli-scripts\hello.1cedtcli" hello - --recursive — необязательный аргумент. Если значение аргумента равно true или оно не указано, то при загрузке из каталога будут загружены скрипты из его подкаталогов тоже.
- --namespace — необязательный аргумент. Пространство имен для загрузки новых скриптов. Если не задано, скрипты загружаются в текущее пространство имен по умолчанию.
- --load — обязательный аргумент. Либо
скрипт для загрузки, либо каталог для загрузки
скриптов.
- Отображение списка доступных
скриптов.
- sort-project
-
Сортирует объекты конфигурации в соответствии с настройками автоматической сортировки. Если автоматическая сортировка не была включена для проекта, будут установлены стандартные настройки автоматической сортировки, в соответствии с которыми объекты конфигурации будут отсортированы. Имеет один из следующих обязательных аргументов:
- --project-list — список путей к каталогам
проектов 1C:EDT, в которых будет выполнена сортировка. При этом
обрабатываются все вложенные проекты. Если какой-то из этих проектов не импортирован в рабочую область, переданную в параметре -data, то перед сортировкой проекта будет выполнен импорт этого проекта в рабочую область;
- --project-name-list — список имен проектов, ранее импортированных в рабочее пространство, которые будут отсортированы.
Список путей или список имен перечисляется через пробел в квадратных скобках. Если нужно передать только один путь или одно имя, квадратные скобки можно не использовать.
Например:
sort-project --project-list [D:\Демо_EDT D:\Демо_EDT.ВесТоваров] sort-project --project-list D:\Демо_EDT - --project-list — список путей к каталогам
проектов 1C:EDT, в которых будет выполнена сортировка. При этом
обрабатываются все вложенные проекты.
- uninstall-platform-support
-
Удаляет поддержку платформы «1С:Предприятие» указанной версии. Имеет обязательный аргумент:
- --version — версия платформы, поддержку которой нужно удалить;
Например:uninstall-platform-support --version 8.3.10
- validate
-
Проверяет проект и выводит результат в .tsv-файл. Имеет следующие аргументы:
- --file — путь к .tsv-файлу, в который будут записаны результаты проверки. Если файл уже существует, то будет выдана ошибка;
- Один из следующих обязательных аргументов:
- --project-list — список путей к каталогам
проектов 1C:EDT, в которых будет выполнена проверка.
Если какой-то из этих проектов не импортирован в рабочую область, переданную в параметре -data, то перед проверкой проекта будет выполнен импорт этого проекта в рабочую область;
- --project-name-list — список имен проектов, ранее импортированных в рабочую область, которые будут проверены.
- --project-list — список путей к каталогам
проектов 1C:EDT, в которых будет выполнена проверка.
Список путей или список имен перечисляется через пробел в квадратных скобках. Если нужно передать только один путь или одно имя, квадратные скобки можно не использовать.
Например:validate --file D:\validation-result.tsv --project-list [D:\Демо_EDT D:\Демо_EDT.ВесТоваров] validate --file D:\validation-result.tsv --project-list D:\Демо_EDT
- version
- Выводит версию 1С:EDT или список установленных компонентов с версиями
или версию выбранного компонента.Например, чтобы узнать версию 1С:EDT:
1C:EDT> version 2025.1.0.482Команда имеет два необязательных аргумента:- --features — выводит список установленных
компонентов и их версий.
Например:
1C:EDT> version --features com._1c.g5.v8.dt.testing, 5.20.0.v202505262100, pluginName com.company1c.link.ide.edt.feature, 4.0.3, 1С:Линк для EDT com.e1c.langtool.feature, 1.8.0.v202505262100, 1C:Language Tool UI plugin com.e1c.langtool.google.feature, 1.8.0.v202505262100, 1C:Language Tool UI plugin com.e1c.langtool.microsoft.feature, 1.8.0.v202505262100, 1C:Language Tool UI plugin com.e1c.langtool.v8.dt.feature, 1.8.0.v202505262100, 1C:Language Tool UI plugin com.e1c.langtool.yandex.feature, 1.8.0.v202505262100, 1C:Language Tool UI plugin com.e1c.ssl.feature, 0.7.0.v20250204-1048, 1C:SSL UI support for 1C:EDT com.e1c.v8codestyle.feature, 0.7.0.v20250526-2118, 1С:Стандарты разработки V8 Ядро org.eclipse.draw2d, 3.18.0.202311222042, GEF Classic Draw2d ... "строка"— идентификатор компонента. Выводит версию компонента и информацию о его наличии (true/false). Например:1C:EDT> version org.eclipse.egit 6.8.6.202504091953 trueВместе с этим аргументом можно использовать аргумент --quiet, тогда будет выведена только информация о наличии компонента (true/false). Например, чтобы узнать, установлен ли плагин Language Tools:1C:EDT> version com.e1c.langtool.feature --quiet true
- --features — выводит список установленных
компонентов и их версий.
Например:
Код возврата
Перечислить все коды возврата не представляется возможным. Их слишком много, они приходят из разных источников. Далее приведены некоторые конкретные значения. Они не являются частью официально поддерживаемого публичного API и могут измениться в будущем/
help --status-codes.- 0 — Нормальное завершение;
- 1 — Не удалось запустить 1C:EDT CLI, возникла ошибка на
подготовительном этапе. Возможные проблемы:
- Не найден файл 1cedt.ini;
- Не удалось создать временный файл;
- Не удалось создать воркспейс, если его еще нет;
- Другие проблемы подобного рода.
- 200 — Общая ошибка. Что-то пошло не так уже после запуска 1C:EDT CLI. Для получения информации нужно смотреть журналы рабочей области;
- 201 — Файл скрипта не найден (в режиме -file);
- 202 — Другой процесс (1C:EDT или 1C:EDT CLI) использует рабочую область;
- 203 — Выполнение команды было прервано, скорее всего из-за таймаута;
- 204 — Выполнение команды прекращено с исключением. Для получения информации нужно смотреть журналы рабочей области;
- 205 — То же, что и 203, время выполнения команды превысило таймаут, но обычное прерывание не сработало, поэтому процесс был убит. Для получения информации нужно смотреть журналы рабочей области;
- Может прийти любой код возврата JVM, например:
- 13 — неправильная разрядность JVM (32/64), или
- 128 + идентификатор сигнала — код возврата при получении процессом определенных сигналов ОС. Например 137 для SIGKILL (принудительное завершение). Обычно это 128+signal-id, но зависит от шелла и от JVM, которая может перехватить сигнал и вернуть свой код;
- <результат команды> — Если команда в режиме -command или последняя команда из файла в режиме -file возвращает число, это число будет кодом состояния;
- <пользовательский статус через команду exit> — Команда exit позволяет указать любой код состояния в аргументе --status.
Если 1C:EDT CLI должен вернуть код возврата 23 или 24 (например потому, что его вернула выполняемая команда в режиме -command или последняя команда из последовательности команд в режиме -file), код возврата будет увеличен на 100, то есть вернется 123 или 124 соответственно. Это сделано потому, что 23 и 24 являются особыми кодами возврата Eclipse с собственной семантикой.
Собственные команды
В интерфейс командной строки 1C:EDT CLI можно добавлять собственные команды. Для этого нужно написать плагин для 1C:EDT, который будет подключаться к точке расширения com.e1c.g5.v8.dt.cli.api.cliCommand и реализовывать интерфейс com.e1c.g5.v8.dt.cli.api.ICliCommand.
Подробнее о разработке собственных команд командной строки можно прочитать здесь.
Для тестирования собственных команд 1C:EDT CLI можно использовать инструмент, описанный здесь.
Демонстрационный пример плагина можно посмотреть здесь.